package sng.data.info
{
	import mx.collections.ArrayCollection;
	
	import sng.modules.model.vo.BuildingVO;
	import sng.modules.model.vo.SeedVO;
	import sng.modules.model.vo.UserBuildingVO;

	/**
	 * 
	 * @author kelvinni
	 * 存储建筑配置，由xml配置获取，提供相应的静态方法用于访问
	 */	
	public class BuildingInfo
	{
		//农田类建筑
		public static const BUILD_FARM:uint = 6;
		
		/**
		 * 用于存储静态的建筑配置xml文件
		 */		
		public static var dataXML:XML;		
		
		public function BuildingInfo()
		{
		}
		
		/**
		 * 
		 * @param _templateId 建筑模版id
		 * @return 建筑模版数据
		 * 
		 */		
		public static function getBuildingVOFromTemplateId(_templateId:int):BuildingVO
		{
			var vo:BuildingVO ;
			for(var i:int=0;i<buildinglist.length;i++)
			{
				vo=buildinglist[i] as BuildingVO;
				if (vo.buildingid==_templateId)
					return vo;
			}
			
			return null;
		}
		
		/**
		 * 
		 * @param _templateId 建筑模版id
		 * @return 用户建筑实例数据
		 * 
		 */		
		public static function getUserBuildingVOFromTemplateId(_templateId:int):UserBuildingVO
		{
			var uvo:UserBuildingVO = new UserBuildingVO();
			uvo.templateId = _templateId;
			uvo.buildStep = 1;
			
			return uvo;
		}
		
		private static var _buildinglist:ArrayCollection;
		
		
		/**
		 *种子列表数组 
		 */		
		public static var seedlist:ArrayCollection;
		
		public static var seedid:uint;//当前种子的ID
		
		/**
		 * 
		 * @return 
		 * 返回当前选中的种子数据实体
		 * 
		 */		
		public static function getCurrentSeedVO():SeedVO
		{
			var vo:SeedVO ;
			for(var i:int=0;i<seedlist.length;i++)
			{
				vo=seedlist[i] as SeedVO;
				if(vo==null)
					return null;
				if (vo.id==seedid)
					return vo;
			}
			
			return null;
		}
		
		/**
		 * 
		 * @return 
		 * 返回当前选中的种子数据实体
		 * 
		 */		
		public static function getCurrentSeedVOBySeedID(_seedid:uint):SeedVO
		{
			var vo:SeedVO ;
			if (_seedid>=1000)
			for(var i:int=0;i<seedlist.length;i++)
			{
				vo=seedlist[i] as SeedVO;
				if (vo.id==_seedid)
					return vo;
			}
			
			return null;
		}

		/**
		 *建筑物列表数组 
		 */
		public static function get buildinglist():ArrayCollection
		{
			return _buildinglist;
		}

		/**
		 * @private
		 */
		public static function set buildinglist(value:ArrayCollection):void
		{
			_buildinglist = value;
		}

		
		//public static function getBuildingVOFromTemplateId()
	}
}